fix: add missing 'd' (days) unit to parse_duration#65
Open
XananasX7 wants to merge 1 commit into
Open
Conversation
The _UNITS dict accepted the 'd' character via the token regex but
never mapped it to a second value, so day-based durations silently
returned 0 instead of the correct number of seconds.
Fix: add 'd': 86400 to _UNITS so parse_duration('1d') == 86400
and parse_duration('2d4h') == 187200.
Tests: add test_days and test_days_combined to cover both cases.
Closes tine1117#1
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Fixes #1 —
parse_durationwas silently dropping thed(days) unit.Root Cause
The
_TOKENregex already accepteddas a valid unit character ([wdhms]), but the_UNITSmapping dict did not include"d". This meant day tokens were consumed (noValueErrorraised) but contributed nothing to the total.Fix
Added
"d": 86400to_UNITS, so:Also updated the leading comment in
_UNITSto include "days" and addedparse_duration("1d") -> 86400to the docstring examples.Tests Added
test_days—parse_duration("1d") == 86400test_days_combined—parse_duration("2d4h") == 187200All 9 tests pass.